package com.yuandian.business.monitor.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuandian.api.business_monitor.po.AlarmDistribteMapParams;
import com.yuandian.api.business_monitor.vo.AlarmRatioListVO;
import com.yuandian.api.business_monitor.vo.AlarmTrendMapVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 告警数据趋势
 *
 * @author zhoutian
 * @date 2020/9/24 11:32
 */
@Mapper
public interface BusiAlarmTrendMapper {
	/**
	 * 查询节点占比告警信息
	 *
	 * @param params    参数
	 * @param tableName 表名
	 * @return List<AlarmTrendMapVO>
	 */
//    @SqlAlias(value = "告警数据趋势-查询节点占比告警信息")
	List<AlarmTrendMapVO> queryNodeRatioMap(@Param("params") AlarmDistribteMapParams params, @Param("tableName") String tableName);

	/**
	 * 告警类型占比，当前时刻一天的业务访问告警趋势
	 *
	 * @param params    参数
	 * @return List<AlarmTrendMapVO>
	 */
	List<AlarmTrendMapVO> queryAlarmRatioMap(@Param("params") AlarmDistribteMapParams params);

	/**
	 * 告警数据趋势-访问量告警分类详情列表分页
	 *
	 * @param page
	 * @param params
	 * @return
	 */
	List<AlarmRatioListVO> queryAlarmTypeDetail(@Param("page") IPage page, @Param("params") AlarmDistribteMapParams params);

	/**
	 * 告警数据趋势-访问量告警分类详情列表（不分页）
	 * @param params
	 * @return
	 */
	List<AlarmRatioListVO> queryAlarmTypeDetail(@Param("params") AlarmDistribteMapParams params);

	/**
	 *
	 * 告警数据趋势-访问量告警分类网端详情列表（分页）
	 * @param params
	 * @param start
	 * @param end
	 * @return
	 */
	List<AlarmRatioListVO> queryNodeProportion(@Param("page") IPage page, @Param("params") AlarmDistribteMapParams params, @Param("start") Long start, @Param("end") Long end);

	/**
	 *
	 * 告警数据趋势-访问量告警分类网端详情列表（不分页）
	 * @param params
	 * @param start
	 * @param end
	 * @return
	 */
	List<AlarmRatioListVO> queryNodeProportion(@Param("params") AlarmDistribteMapParams params, @Param("start") Long start, @Param("end") Long end);
}
